define(function(require, exports, module) {
	"require:nomunge,exports:nomunge,module:nomunge";

var wind_async=require('ddf_wind_async');
	
/**
 * 显示错误信息
 */
exports.addErrorMessage=function(control_id,input_id,message){
	
	$("#"+control_id).addClass("error");
		
	var result=$("#"+control_id+" div span").hasClass("help-inline");
	
	if(!result)
		$('<span class="help-inline">&nbsp;&nbsp;&nbsp;'+message+'</span>').appendTo("#"+control_id+" div");
	
}

exports.addErrorMessage_block=function(control_id,input_id,message){
	
	$("#"+control_id).addClass("error");
		
	var result=$("#"+control_id+" div span").hasClass("help-block");
	
	if(!result)
		$('<span class="help-block">'+message+'</span>').appendTo("#"+control_id+" div");
	
}

/**
 * 清除错误信息
 */
exports.clearErrorMessage=function(id){
	
	$("#"+id).removeClass("error");
	
		
	$("#"+id+" div span.help-inline").remove();

}

exports.clearErrorMessage_block=function(id){
	
	$("#"+id).removeClass("error");
		
	$("#"+id+" div span.help-block").remove();

}

/**
 * 异步提示任务
 */
var tips_task = eval(Wind.compile("async", function () {
	$(".alert-tips").fadeIn(100);
    $await(Wind.Async.sleep(1000));
    $(".alert-tips").fadeOut(500);
}));


var task = eval(Wind.compile("async", function () {
    $await(tips_task());
}));


/**
 * 成功提示
 */
exports.tips=function(text){
	
		
	$("#alert-tips").addClass("tipsfixed");
	$("#alert-tips").html('<div class="alert alert-block alert-success alert-tips"><a class="close" data-dismiss="alert" href="#">×</a><h4 class="alert-heading">'+text+'</h4></div>');
	task().start();
	
}

/**
 * 失败提示
 */
exports.tips_error=function(text){

	$("#alert-tips").addClass("tipsfixed");
	$("#alert-tips").html('<div class="alert alert-block alert-error alert-tips"><a class="close" data-dismiss="alert" href="#">×</a><h4 class="alert-heading">'+text+'</h4></div>');
	task().start();
}



/**
 * 显示加载框
 */
exports.showLoading=function(){
	
	if($("#content >div").attr("id")!="#wait")
		$("#content").prepend('<div class="wait" id="wait" style="display:none;"></div>');
		
		
	$("#wait").css("display","block");
}

/**
 * 取消加载框
 */
exports.cancelLoading=function(){
	
	$("#wait").css("display","none");
}


/**
 * 删除数组某一项
 */
Array.prototype.del=function(n) {　//n表示第几项，从0开始算起。
	//prototype为对象原型，注意这里为对象增加自定义方法的方法。
	　if(n<0)　//如果n<0，则不进行任何操作。
	　　return this;
	　else
	　　return this.slice(0,n).concat(this.slice(n+1,this.length));
	　　/*
	　　　concat方法：返回一个新数组，这个新数组是由两个或更多数组组合而成的。
	　　　　　　　　　这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
	　　 　　　　　　组成的新数组，这中间，刚好少了第n项。
	　　　slice方法： 返回一个数组的一段，两个参数，分别指定开始和结束的位置。
	　　*/
}

/**
 * 去除逗号
 */
String.prototype.removeComma=function(str) {　
	if(str.substring(str.length-1,str.length)==","){
		str=str.substring(0,str.length-1);
	}
	return str;
}

/**
 * 设置单选框样式
 */
exports.setRadioStyle=function(){
	
	$('input[type=checkbox],input[type=radio],input[type=file]').uniform();
	
}

/**
 * 设置单选框样式
 */
exports.setRadioStyles=function(){
	
	$('input[type=radio]').uniform();
	
}

/**
 * 设置单选框样式
 */
exports.setCheckBoxStyles=function(){
	
	$('input[type=checkbox]').uniform();
	
}



/**
 * 设置下拉选择框样式
 */
exports.setSelectStyle=function(){
	
	$('select').select2();
	
}
/**
 *验证日期
 */
exports.checkDate=function(beginDate,endDate){
	
	if(!isNull(beginDate)){
		if(isNull(endDate)){
			exports.tips_error("结束日期不能为空")
			return false;
		}
	}
	if(!isNull(endDate)){
		if(isNull(beginDate)){
			exports.tips_error("开始日期不能为空")
			return false;
		}
	}
	
	if(beginDate>endDate){
	    	
		exports.tips_error("开始日期不能大于结束日期")
	    	 
	    return false;
	}
	
	return true;
}

/**
 * 获取序列号
 */
exports.getSequence=function(pageNumber,pageSize, num) {

	var index = 0;

	if (pageNumber > 1) {

		index = pageSize* (pageNumber - 1);
	}

	return index + num;

}

var pageSize=10;
/**
 * 检测是否登录过期
 */
function validateTimeout(){

	
	eval(Wind.compile("async",function(){
		
		var data = $await(wind_async.DDF_AsyncRequest("POST",CTX+"/admin/ManagerLogin/isLoginTimeOut.do",""));
		
		isLoginTimeOutCallBack(data);
		
	}))().start();
}

/**
 * 检测是否登录过期_回调函数
 */
function isLoginTimeOutCallBack(data){
	
	
	if(data["code"]=="-1"){
		
		 window.location.href=CTX+"/admin/login.jsp";
		
	}
	
}

/**
 * 
 * @param jsScript
 */
exports.load=function(jsScript){
	
	//验证登录是否过期
	validateTimeout();

	//清楚DIV的内容
	$("#content").html("");
	
	seajs.use(jsScript,function(m){
			if(m.init){
				m.init(m);
			}
		});
}


/**
 * 加载菜单
 */
exports.loadMenu=function(){

	
eval(Wind.compile("async",function(){
		
		var data = $await(wind_async.DDF_AsyncRequest("POST",ddf.index.queryUserMenus,""));
		
		loadMenuCallBack(data);
		
	}))().start();
}


/**
 *  菜单列表_回调函数
 * @param data
 */
function loadMenuCallBack(data){
	
	var htmlStr='<li class="active"><a href=javascript:load(ddf.index.index_js)><i class="icon icon-home"></i> <span>首页</span></a> </li>';
	
	$("#menuList").append(htmlStr);
	
	//一级菜单
	for(var i=0;i<data["menusData"].length;i++){
		
		htmlStr="";
		
		if(data["menusData"][i]["PARENT_ID"]==""){
			
				
			htmlStr += '<li id="first_menu'+i+'" class="submenu"> <a href="javascript:void(0)"><i class="'+data["menusData"][i]["MEMO"]+'"></i> <span>'+data["menusData"][i]["AUTH_NAME"]+'</span><span class="label label-important ie_top"></span></a><ul id="second_menu'+i+'"></ul></li>';

					
		}
		$("#menuList").append(htmlStr);
		
		htmlStr="";
		//二级菜单
		var childNum=0,authName="",url="",urlArray;
		
		for(var j=0;j<data["menusData"].length;j++){
			
			
			if(data["menusData"][j]["PARENT_ID"]!="" && data["menusData"][j]["PARENT_ID"]==data["menusData"][i]["AUTH_ID"]){
				
				htmlStr="";
				
				childNum++;
				
				if(data["menusData"][j]["URL"].indexOf(",")>0){
					
					url=data["menusData"][j]["URL"].split(",");
				
					htmlStr += '<li><a href=javascript:load('+url[0]+','+url[1]+',"'+url[2]+'","")>'+data["menusData"][j]["AUTH_NAME"]+'</a></li>';
					
				}else{
					
					url=data["menusData"][j]["URL"];
					
					htmlStr += '<li><a href=javascript:load('+url+')>'+data["menusData"][j]["AUTH_NAME"]+'</a></li>';

				}
				
				authName=data["menusData"][j]["AUTH_NAME"];
				
				urlArray=data["menusData"][j]["URL"];
				
				$("#second_menu"+i).append(htmlStr);
				
				
			}
		
			
	    }
		
		
		

		//如果子菜单只有一个,直接点击,不用展开
		if(childNum==1){
			
			childNum=0;
			
			$("#first_menu"+i).removeClass("submenu");
			
			if(urlArray.indexOf(",")>0){
				
				$("#first_menu"+i).html('<a href=javascript:load('+url[0]+','+url[1]+',"'+url[2]+'","")><i class="'+data["menusData"][i]["MEMO"]+'"></i><span>'+authName+'</span></a>');

			}else{
				$("#first_menu"+i).html('<a href=javascript:load('+url+')><i class="'+data["menusData"][i]["MEMO"]+'"></i><span>'+authName+'</span></a>');

			}

		}
	}
			
	

	//左导航二级导航数量
	var sub_num=$('#sidebar li.submenu').length;	
	for(var sub_i=0;sub_i<sub_num;sub_i++){
		var submenu=$('#sidebar li.submenu:eq('+sub_i+')');
		var submenu_li=$('#sidebar li.submenu:eq('+sub_i+') ul li').length;
		var label=submenu.find("span.label");
		label.text(submenu_li);	
	}
	
	// === Sidebar navigation === //
	//==左导航点击，背景变色事件==//
	$("#sidebar > ul > li > a").click(function(e){
		
		/* if($(this).find("span").text()=="首页"){

			$(this).parent().addClass("active").siblings();
		}else{
			
			$(this).parent().siblings("li").removeClass("active");

		} */
		var _parent=$(this).parent();	
		if(!_parent.hasClass("submenu")){
			_parent.siblings(".submenu").find("li").removeClass("active");			
			_parent.addClass("active").siblings("li").removeClass("active");	
		}	
	});
	$(".submenu >ul >li >a").click(function(e){		
		$(this).parent().addClass("active").siblings().removeClass("active");
		//$(this).parents(".submenu").addClass("active").siblings().removeClass("active");
		var li=$(this).parents(".submenu");
		var submenu = $(this).parents('.submenu > ul');
		var submenus = $('#sidebar li.submenu ul');
		var submenus_parents = $('#sidebar li.submenu');		
		
		$(this).parents(".submenu").siblings().removeClass("active");

	});
	//==END 左导航点击，背景变色事件==//
	$('.submenu > a').click(function(e)
			{
				e.preventDefault();
				var submenu = $(this).siblings('ul');
				var li = $(this).parents('li');
				var submenus = $('#sidebar li.submenu ul');
				var submenus_parents = $('#sidebar li.submenu');
				if(li.hasClass('open'))
				{
					if(($(window).width() > 768) || ($(window).width() < 479)) {
						submenu.slideUp();
					} else {
						submenu.fadeOut(250);
					}
					li.removeClass('open');
				} else 
				{
					if(($(window).width() > 768) || ($(window).width() < 479)) {
						submenus.slideUp();			
						submenu.slideDown();
					} else {
						submenus.fadeOut(250);			
						submenu.fadeIn(250);
					}
					submenus_parents.removeClass('open');		
					li.addClass('open');	
				}
			});
			
			var ul = $('#sidebar > ul');
			
			$('#sidebar > a').click(function(e)
			{
				e.preventDefault();
				var sidebar = $('#sidebar');
				if(sidebar.hasClass('open'))
				{
					sidebar.removeClass('open');
					ul.slideUp(250);
				} else 
				{
					sidebar.addClass('open');
					ul.slideDown(250);
				}
			});
			
			// === Resize window related === //
			$(window).resize(function()
			{
				if($(window).width() > 479)
				{
					ul.css({'display':'block'});	
					$('#content-header .btn-group').css({width:'auto'});		
				}
				if($(window).width() < 479)
				{
					ul.css({'display':'none'});
					fix_position();
				}
				if($(window).width() > 768)
				{
					$('#user-nav > ul').css({width:'auto',margin:'0'});
		            $('#content-header .btn-group').css({width:'auto'});
				}
			});
			
			if($(window).width() < 468)
			{
				ul.css({'display':'none'});
				fix_position();
			}
			
			if($(window).width() > 479)
			{
			   $('#content-header .btn-group').css({width:'auto'});
				ul.css({'display':'block'});
			}
}



});